package vistas;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.net.URL;

import javax.imageio.ImageIO;

import objetos.aeronaves.Algo42;
import ar.uba.fi.algo3.titiritero.SuperficieDeDibujo;
import ar.uba.fi.algo3.titiritero.vista.Figura;

/*
 * Vista del contador de cantidad de munici�n de torpedos rastreadores del Algo42
 */
public class VistaContadorRastreadores extends Figura {
	private Algo42 actor;
	private int enX;
	private int enY;
	private Image imagenRastreador;
	private Font fuente;

	public VistaContadorRastreadores(Algo42 actor, int x, int y) {
		this.actor = actor;
		this.enX = x;
		this.enY = y;
		this.imagenRastreador = obtenerImagenRastreador("../images/proyectiles/rastreadorArriba.png");
		this.fuente = new Font("Tahoma", Font.BOLD, 15);
	}

	private Image obtenerImagenRastreador(String rutaImagen) {
		try {
			URL u = this.getClass().getResource(rutaImagen);
			return ImageIO.read(u);
		} catch (Exception ex) {
			return null;
		}
	}

	private void dibujarRastreador(SuperficieDeDibujo superfice) {
		Graphics graficoRastreador = (Graphics) superfice.getBuffer();
		graficoRastreador.drawImage(this.imagenRastreador, this.enX,
				this.enY - 17, null);
	}

	private void dibujarTexto(SuperficieDeDibujo superfice) {
		String texto = String.valueOf(this.actor
				.obtenerMuninicionRastreadores())
				+ "x";
		Graphics graficoTexto = (Graphics) superfice.getBuffer();
		graficoTexto.setFont(this.fuente);
		graficoTexto.setColor(Color.BLACK);
		graficoTexto.drawString(texto, this.enX - 16, this.enY + 1);
		graficoTexto.setColor(Color.WHITE);
		graficoTexto.drawString(texto, this.enX - 15, this.enY);
	}

	@Override
	public void dibujar(SuperficieDeDibujo superfice) {
		dibujarRastreador(superfice);
		dibujarTexto(superfice);
	}

}
